In the operation of a system that utilizes multiple data streams, such as multiple media data streams for display. The data may include data protected by High-bandwidth Digital Content Protection (HDCP) data, which is referred to herein as HDCP data. Thus, a system may result multiple encoded streams that require deciphering. However, the process of deciphering HDCP can be time consuming. This generally results in a delay before the data may be viewed or heard, thereby interfering with the use and enjoyment of a system.
HDCP is a content protection protocol that is used to protect media content, particularly premium media content. For example, when there is flow of content between transmitting device (e.g., a DVD player) and a receiving device (e.g., a television) via the High-Definition Multimedia Interface (HDMI) interface, the premium media content flowing is to be protected, such as the receiving device is validated and authenticated before receiving such media content from the transmitting device, while the transmitting device is validated and authenticated before the receiving the device accepts its content. This validation and authentication of the two devices is performed by exchanging some initial verification data (e.g., public/private keys), which may last less than a second or two.
Each time there is change in the connection, such as the change in connection ports, media content, etc, a new validation/authentication process is run. For example, if the receiving device is now connected to another transmitting device (e.g., digital camera), these two devices are now validated and authenticated before the protected media content can be communicated between them. This process is cumbersome and time-consuming and wastes valuable resources. It was, therefore, pre-authentication of the ports was introduced. The pre-authentication process pre-authorizes all the ports, eliminating the need to run an authentication process each time a port is changed. However, having assigned one decipher processing engine to each port means whenever the number of ports is increased, an equal number of decipher processing engines are to be added, resulting in the increase of area.
It is, therefore, desirable to have a single decipher processing engine associated with multiple ports.